package top.yihoxu.proxy;

import java.lang.reflect.Proxy;

/**
 * @Author dth
 * @Date 2024/5/21 15:58
 * @PackageName:top.yihoxu.proxy
 * @ClassName: ServiceProxyFactory
 * @Description: 服务代理工厂（用户创建代理对象）
 * @Version 1.0
 */
public class ServiceProxyFactory {


    /**
     * 根据服务类获取代理对象
     * @param serviceClass
     * @return
     * @param <T>
     */
    public static <T> T getProxy(Class<T> serviceClass) {
        return (T) Proxy.newProxyInstance(
                serviceClass.getClassLoader(),
                new Class[]{serviceClass},
                new ServiceProxy()
        );
    }
}
